/* Copyright ©, 2023, ECARX (Hubei) Technology Co., Ltd. All rights reserved.
 *
 * NOTICE: This file contains information which is confidential and proprietary to ECARX
 * (Hubei) Technology Co., Ltd. and/or other developers. No license to any intellectual
 * property rights contained within this file is either granted or implied except as may be
 * provided in an agreement with ECARX (Hubei) Technology Co., Ltd.
 *
 * Any unauthorized copying or distribution of content from this file in whole or in part
 * is prohibited.
 */
#pragma once

#include <vector>
#include <transfer/common.h>
#include <arpa/inet.h>
#include <map>
#include <ipcp/ipcp.h>
#include <functional>

#include "ap/APCP_signal_id.h"
#include "common.h"
#include "cp/CP_ServiceId.h"
#include "cp/Normal.h"
#include "cp/AVAS.h"
#include "cp/TimeSync.h"

namespace ecarx::transfer::utils {

    ipcp::IpcpValue cpSignalToIpcpValue(const Signal &signal) {
        ipcp::IpcpValue ipcp;
        ipcp.service_id = CP_serviceID_Invalid;
        // CP_serviceID_Invalid
        if (signal.signalId == CP_serviceID_Invalid) {
            return ipcp;
        }/**/
        else if (signal.signalId == (int32_t)APCPSignalTX::Status2CpNormal) {
            ipcp.service_id = CP_serviceID_Normal;
            ipcp.oper_id = Status2CpNormalOpId;
            ipcp.oper_type = IPCP_OPERATION_SETREQUEST_NORETURN;
            ipcp.payload_type = IPCP_DATA_NORMAL;
            memset(ipcp.peer_ip, 0, sizeof(ipcp.peer_ip));
            strcpy(ipcp.peer_ip, CP_SERVICE_IP);
            ipcp.peer_port = CP_SERVICE_NORMAL_PORT;
            ipcp.payload_len = sizeof(OpStatus2CpNormal_SetRequestNoReturn);
            OpStatus2CpNormal_SetRequestNoReturn *buffer =
                    (OpStatus2CpNormal_SetRequestNoReturn *) new uint8_t[ipcp.payload_len];
            (*buffer).value = (uint8_t) signal.value.int32Values[0];
            ipcp.payload = (void *) buffer;
        }/**/
        else if (signal.signalId == (int32_t)APCPSignalTX::TmprUnit) {
            ipcp.service_id = CP_serviceID_Normal;
            ipcp.oper_id = TmprUnitOpId;
            ipcp.oper_type = IPCP_OPERATION_SETREQUEST_NORETURN;
            ipcp.payload_type = IPCP_DATA_NORMAL;
            memset(ipcp.peer_ip, 0, sizeof(ipcp.peer_ip));
            strcpy(ipcp.peer_ip, CP_SERVICE_IP);
            ipcp.peer_port = CP_SERVICE_NORMAL_PORT;
            ipcp.payload_len = sizeof(OpTmprUnit_SetRequestNoReturn);
            OpTmprUnit_SetRequestNoReturn *buffer =
                    (OpTmprUnit_SetRequestNoReturn *) new uint8_t[ipcp.payload_len];
            (*buffer).value = (uint8_t) signal.value.int32Values[0];
            ipcp.payload = (void *) buffer;
        }/**/
        else if (signal.signalId == (int32_t)APCPSignalTX::LangType) {
            ipcp.service_id = CP_serviceID_Normal;
            ipcp.oper_id = LangTypeOpId;
            ipcp.oper_type = IPCP_OPERATION_SETREQUEST_NORETURN;
            ipcp.payload_type = IPCP_DATA_NORMAL;
            memset(ipcp.peer_ip, 0, sizeof(ipcp.peer_ip));
            strcpy(ipcp.peer_ip, CP_SERVICE_IP);
            ipcp.peer_port = CP_SERVICE_NORMAL_PORT;
            ipcp.payload_len = sizeof(OpLangType_SetRequestNoReturn);
            OpLangType_SetRequestNoReturn *buffer =
                    (OpLangType_SetRequestNoReturn *) new uint8_t[ipcp.payload_len];
            (*buffer).value = (uint8_t) signal.value.int32Values[0];
            ipcp.payload = (void *) buffer;
        }/**/
        else if (signal.signalId == (int32_t)APCPSignalTX::MileUnit) {
            ipcp.service_id = CP_serviceID_Normal;
            ipcp.oper_id = MileUnitOpId;
            ipcp.oper_type = IPCP_OPERATION_SETREQUEST_NORETURN;
            ipcp.payload_type = IPCP_DATA_NORMAL;
            memset(ipcp.peer_ip, 0, sizeof(ipcp.peer_ip));
            strcpy(ipcp.peer_ip, CP_SERVICE_IP);
            ipcp.peer_port = CP_SERVICE_NORMAL_PORT;
            ipcp.payload_len = sizeof(OpMileUnit_SetRequestNoReturn);
            OpMileUnit_SetRequestNoReturn *buffer =
                    (OpMileUnit_SetRequestNoReturn *) new uint8_t[ipcp.payload_len];
            (*buffer).value = (uint8_t) signal.value.int32Values[0];
            ipcp.payload = (void *) buffer;
        }/**/
        else if (signal.signalId == (int32_t)APCPSignalTX::SpdUnit) {
            ipcp.service_id = CP_serviceID_Normal;
            ipcp.oper_id = SpdUnitOpId;
            ipcp.oper_type = IPCP_OPERATION_SETREQUEST_NORETURN;
            ipcp.payload_type = IPCP_DATA_NORMAL;
            memset(ipcp.peer_ip, 0, sizeof(ipcp.peer_ip));
            strcpy(ipcp.peer_ip, CP_SERVICE_IP);
            ipcp.peer_port = CP_SERVICE_NORMAL_PORT;
            ipcp.payload_len = sizeof(OpSpdUnit_SetRequestNoReturn);
            OpSpdUnit_SetRequestNoReturn *buffer =
                    (OpSpdUnit_SetRequestNoReturn *) new uint8_t[ipcp.payload_len];
            (*buffer).value = (uint8_t) signal.value.int32Values[0];
            ipcp.payload = (void *) buffer;
        }/**/
        else if (signal.signalId == (int32_t)APCPSignalTX::EgyFulUnit) {
            ipcp.service_id = CP_serviceID_Normal;
            ipcp.oper_id = EgyFulUnitOpId;
            ipcp.oper_type = IPCP_OPERATION_SETREQUEST_NORETURN;
            ipcp.payload_type = IPCP_DATA_NORMAL;
            memset(ipcp.peer_ip, 0, sizeof(ipcp.peer_ip));
            strcpy(ipcp.peer_ip, CP_SERVICE_IP);
            ipcp.peer_port = CP_SERVICE_NORMAL_PORT;
            ipcp.payload_len = sizeof(OpEgyFulUnit_SetRequestNoReturn);
            OpEgyFulUnit_SetRequestNoReturn *buffer =
                    (OpEgyFulUnit_SetRequestNoReturn *) new uint8_t[ipcp.payload_len];
            (*buffer).value = (uint8_t) signal.value.int32Values[0];
            ipcp.payload = (void *) buffer;
        }/**/
        else if (signal.signalId == (int32_t)APCPSignalTX::TripRstReq) {
            ipcp.service_id = CP_serviceID_Normal;
            ipcp.oper_id = TripRstReqOpId;
            ipcp.oper_type = IPCP_OPERATION_SETREQUEST_NORETURN;
            ipcp.payload_type = IPCP_DATA_NORMAL;
            memset(ipcp.peer_ip, 0, sizeof(ipcp.peer_ip));
            strcpy(ipcp.peer_ip, CP_SERVICE_IP);
            ipcp.peer_port = CP_SERVICE_NORMAL_PORT;
            ipcp.payload_len = sizeof(OpTripRstReq_SetRequestNoReturn);
            OpTripRstReq_SetRequestNoReturn *buffer =
                    (OpTripRstReq_SetRequestNoReturn *) new uint8_t[ipcp.payload_len];
            (*buffer).value = (uint8_t) signal.value.int32Values[0];
            ipcp.payload = (void *) buffer;
        }/**/
        else if (signal.signalId == (int32_t)APCPSignalTX::TripAutoRstMode) {
            ipcp.service_id = CP_serviceID_Normal;
            ipcp.oper_id = TripAutoRstModeOpId;
            ipcp.oper_type = IPCP_OPERATION_SETREQUEST_NORETURN;
            ipcp.payload_type = IPCP_DATA_NORMAL;
            memset(ipcp.peer_ip, 0, sizeof(ipcp.peer_ip));
            strcpy(ipcp.peer_ip, CP_SERVICE_IP);
            ipcp.peer_port = CP_SERVICE_NORMAL_PORT;
            ipcp.payload_len = sizeof(OpTripAutoRstMode_SetRequestNoReturn);
            OpTripAutoRstMode_SetRequestNoReturn *buffer =
                    (OpTripAutoRstMode_SetRequestNoReturn *) new uint8_t[ipcp.payload_len];
            (*buffer).value = (uint8_t) signal.value.int32Values[0];
            ipcp.payload = (void *) buffer;
        }/**/
        else if (signal.signalId == (int32_t)APCPSignalTX::DrivingModeSync) {
            ipcp.service_id = CP_serviceID_Normal;
            ipcp.oper_id = DrivingModeSyncOpId;
            ipcp.oper_type = IPCP_OPERATION_SETREQUEST_NORETURN;
            ipcp.payload_type = IPCP_DATA_NORMAL;
            memset(ipcp.peer_ip, 0, sizeof(ipcp.peer_ip));
            strcpy(ipcp.peer_ip, CP_SERVICE_IP);
            ipcp.peer_port = CP_SERVICE_NORMAL_PORT;
            ipcp.payload_len = sizeof(OpDrivingModeSync_SetRequestNoReturn);
            OpDrivingModeSync_SetRequestNoReturn *buffer =
                    (OpDrivingModeSync_SetRequestNoReturn *) new uint8_t[ipcp.payload_len];
            (*buffer).value = (uint8_t) signal.value.int32Values[0];
            ipcp.payload = (void *) buffer;
        }/**/
        else if (signal.signalId == (int32_t)APCPSignalTX::WheelAngleAlarmSwitch) {
            ipcp.service_id = CP_serviceID_Normal;
            ipcp.oper_id = WheelAngleAlarmSwitchOpId;
            ipcp.oper_type = IPCP_OPERATION_SETREQUEST_NORETURN;
            ipcp.payload_type = IPCP_DATA_NORMAL;
            memset(ipcp.peer_ip, 0, sizeof(ipcp.peer_ip));
            strcpy(ipcp.peer_ip, CP_SERVICE_IP);
            ipcp.peer_port = CP_SERVICE_NORMAL_PORT;
            ipcp.payload_len = sizeof(OpWheelAngleAlarmSwitch_SetRequestNoReturn);
            OpWheelAngleAlarmSwitch_SetRequestNoReturn *buffer =
                    (OpWheelAngleAlarmSwitch_SetRequestNoReturn *) new uint8_t[ipcp.payload_len];
            (*buffer).value = (uint8_t) signal.value.int32Values[0];
            ipcp.payload = (void *) buffer;
        }/**/
        else if (signal.signalId == (int32_t)APCPSignalTX::OverSpeedAlarmSwitch) {
            ipcp.service_id = CP_serviceID_Normal;
            ipcp.oper_id = OverSpeedAlarmSwitchOpId;
            ipcp.oper_type = IPCP_OPERATION_SETREQUEST_NORETURN;
            ipcp.payload_type = IPCP_DATA_NORMAL;
            memset(ipcp.peer_ip, 0, sizeof(ipcp.peer_ip));
            strcpy(ipcp.peer_ip, CP_SERVICE_IP);
            ipcp.peer_port = CP_SERVICE_NORMAL_PORT;
            ipcp.payload_len = sizeof(OpOverSpeedAlarmSwitch_SetRequestNoReturn);
            OpOverSpeedAlarmSwitch_SetRequestNoReturn *buffer =
                    (OpOverSpeedAlarmSwitch_SetRequestNoReturn *) new uint8_t[ipcp.payload_len];
            (*buffer).value = (uint8_t) signal.value.int32Values[0];
            ipcp.payload = (void *) buffer;
        }/**/
        else if (signal.signalId == (int32_t)APCPSignalTX::RearMirrorSelect) {
            ipcp.service_id = CP_serviceID_Normal;
            ipcp.oper_id = RearMirrorSelectOpId;
            ipcp.oper_type = IPCP_OPERATION_SETREQUEST_NORETURN;
            ipcp.payload_type = IPCP_DATA_NORMAL;
            memset(ipcp.peer_ip, 0, sizeof(ipcp.peer_ip));
            strcpy(ipcp.peer_ip, CP_SERVICE_IP);
            ipcp.peer_port = CP_SERVICE_NORMAL_PORT;
            ipcp.payload_len = sizeof(OpRearMirrorSelect_SetRequestNoReturn);
            OpRearMirrorSelect_SetRequestNoReturn *buffer =
                    (OpRearMirrorSelect_SetRequestNoReturn *) new uint8_t[ipcp.payload_len];
            (*buffer).value = (uint8_t) signal.value.int32Values[0];
            ipcp.payload = (void *) buffer;
        }/**/
        else if (signal.signalId == (int32_t)APCPSignalTX::DrvrPfmncAlrmSync) {
            ipcp.service_id = CP_serviceID_Normal;
            ipcp.oper_id = DrvrPfmncAlrmSyncOpId;
            ipcp.oper_type = IPCP_OPERATION_SETREQUEST_NORETURN;
            ipcp.payload_type = IPCP_DATA_NORMAL;
            memset(ipcp.peer_ip, 0, sizeof(ipcp.peer_ip));
            strcpy(ipcp.peer_ip, CP_SERVICE_IP);
            ipcp.peer_port = CP_SERVICE_NORMAL_PORT;
            ipcp.payload_len = sizeof(OpDrvrPfmncAlrmSync_SetRequestNoReturn);
            OpDrvrPfmncAlrmSync_SetRequestNoReturn *buffer =
                    (OpDrvrPfmncAlrmSync_SetRequestNoReturn *) new uint8_t[ipcp.payload_len];
            (*buffer).value = (uint8_t) signal.value.int32Values[0];
            ipcp.payload = (void *) buffer;
        }/**/
        else if (signal.signalId == (int32_t)APCPSignalTX::TripEduDisMode) {
            ipcp.service_id = CP_serviceID_Normal;
            ipcp.oper_id = TripEduDisModeOpId;
            ipcp.oper_type = IPCP_OPERATION_SETREQUEST_NORETURN;
            ipcp.payload_type = IPCP_DATA_NORMAL;
            memset(ipcp.peer_ip, 0, sizeof(ipcp.peer_ip));
            strcpy(ipcp.peer_ip, CP_SERVICE_IP);
            ipcp.peer_port = CP_SERVICE_NORMAL_PORT;
            ipcp.payload_len = sizeof(OpTripEduDisMode_SetRequestNoReturn);
            OpTripEduDisMode_SetRequestNoReturn *buffer =
                    (OpTripEduDisMode_SetRequestNoReturn *) new uint8_t[ipcp.payload_len];
            (*buffer).value = (uint8_t) signal.value.int32Values[0];
            ipcp.payload = (void *) buffer;
        }/**/
        else if (signal.signalId == (int32_t)APCPSignalTX::WheelKeyModeReq) {
            ipcp.service_id = CP_serviceID_Normal;
            ipcp.oper_id = WheelKeyModeReqOpId;
            ipcp.oper_type = IPCP_OPERATION_SETREQUEST_NORETURN;
            ipcp.payload_type = IPCP_DATA_NORMAL;
            memset(ipcp.peer_ip, 0, sizeof(ipcp.peer_ip));
            strcpy(ipcp.peer_ip, CP_SERVICE_IP);
            ipcp.peer_port = CP_SERVICE_NORMAL_PORT;
            ipcp.payload_len = sizeof(OpWheelKeyModeReq_SetRequestNoReturn);
            OpWheelKeyModeReq_SetRequestNoReturn *buffer =
                    (OpWheelKeyModeReq_SetRequestNoReturn *) new uint8_t[ipcp.payload_len];
            (*buffer).value = (uint8_t) signal.value.int32Values[0];
            ipcp.payload = (void *) buffer;
        }/**/
        else if (signal.signalId == (int32_t)APCPSignalTX::DrivingModeSync2) {
            ipcp.service_id = CP_serviceID_Normal;
            ipcp.oper_id = DrivingModeSync2OpId;
            ipcp.oper_type = IPCP_OPERATION_SETREQUEST_NORETURN;
            ipcp.payload_type = IPCP_DATA_NORMAL;
            memset(ipcp.peer_ip, 0, sizeof(ipcp.peer_ip));
            strcpy(ipcp.peer_ip, CP_SERVICE_IP);
            ipcp.peer_port = CP_SERVICE_NORMAL_PORT;
            ipcp.payload_len = sizeof(OpDrivingModeSync2_SetRequestNoReturn);
            OpDrivingModeSync2_SetRequestNoReturn *buffer =
                    (OpDrivingModeSync2_SetRequestNoReturn *) new uint8_t[ipcp.payload_len];
            (*buffer).value = (uint8_t) signal.value.int32Values[0];
            ipcp.payload = (void *) buffer;
        }/**/
        else if (signal.signalId == (int32_t)APCPSignalTX::TimeFormatTime) {
            ipcp.service_id = CP_serviceID_Normal;
            ipcp.oper_id = TimeFormatTimeOpId;
            ipcp.oper_type = IPCP_OPERATION_SETREQUEST_NORETURN;
            ipcp.payload_type = IPCP_DATA_NORMAL;
            memset(ipcp.peer_ip, 0, sizeof(ipcp.peer_ip));
            strcpy(ipcp.peer_ip, CP_SERVICE_IP);
            ipcp.peer_port = CP_SERVICE_NORMAL_PORT;
            ipcp.payload_len = sizeof(OpTimeFormatTime_SetRequestNoReturn);
            OpTimeFormatTime_SetRequestNoReturn *buffer =
                    (OpTimeFormatTime_SetRequestNoReturn *) new uint8_t[ipcp.payload_len];
            (*buffer).value = (uint8_t) signal.value.int32Values[0];
            ipcp.payload = (void *) buffer;
        }/**/
        else if (signal.signalId == (int32_t)APCPSignalTX::TimeFormatDate) {
            ipcp.service_id = CP_serviceID_Normal;
            ipcp.oper_id = TimeFormatDateOpId;
            ipcp.oper_type = IPCP_OPERATION_SETREQUEST_NORETURN;
            ipcp.payload_type = IPCP_DATA_NORMAL;
            memset(ipcp.peer_ip, 0, sizeof(ipcp.peer_ip));
            strcpy(ipcp.peer_ip, CP_SERVICE_IP);
            ipcp.peer_port = CP_SERVICE_NORMAL_PORT;
            ipcp.payload_len = sizeof(OpTimeFormatDate_SetRequestNoReturn);
            OpTimeFormatDate_SetRequestNoReturn *buffer =
                    (OpTimeFormatDate_SetRequestNoReturn *) new uint8_t[ipcp.payload_len];
            (*buffer).value = (uint8_t) signal.value.int32Values[0];
            ipcp.payload = (void *) buffer;
        }/**/
        else if (signal.signalId == (int32_t)APCPSignalTX::TirePressureUnit) {
            ipcp.service_id = CP_serviceID_Normal;
            ipcp.oper_id = TirePressureUnitOpId;
            ipcp.oper_type = IPCP_OPERATION_SETREQUEST_NORETURN;
            ipcp.payload_type = IPCP_DATA_NORMAL;
            memset(ipcp.peer_ip, 0, sizeof(ipcp.peer_ip));
            strcpy(ipcp.peer_ip, CP_SERVICE_IP);
            ipcp.peer_port = CP_SERVICE_NORMAL_PORT;
            ipcp.payload_len = sizeof(OpTirePressureUnit_SetRequestNoReturn);
            OpTirePressureUnit_SetRequestNoReturn *buffer =
                    (OpTirePressureUnit_SetRequestNoReturn *) new uint8_t[ipcp.payload_len];
            (*buffer).value = (uint8_t) signal.value.int32Values[0];
            ipcp.payload = (void *) buffer;
        }/**/
        else if (signal.signalId == (int32_t)APCPSignalTX::DstShoUnit) {
            ipcp.service_id = CP_serviceID_Normal;
            ipcp.oper_id = DstShoUnitOpId;
            ipcp.oper_type = IPCP_OPERATION_SETREQUEST_NORETURN;
            ipcp.payload_type = IPCP_DATA_NORMAL;
            memset(ipcp.peer_ip, 0, sizeof(ipcp.peer_ip));
            strcpy(ipcp.peer_ip, CP_SERVICE_IP);
            ipcp.peer_port = CP_SERVICE_NORMAL_PORT;
            ipcp.payload_len = sizeof(OpDstShoUnit_SetRequestNoReturn);
            OpDstShoUnit_SetRequestNoReturn *buffer =
                    (OpDstShoUnit_SetRequestNoReturn *) new uint8_t[ipcp.payload_len];
            (*buffer).value = (uint8_t) signal.value.int32Values[0];
            ipcp.payload = (void *) buffer;
        }/**/
        else if (signal.signalId == (int32_t)APCPSignalTX::SetVolUnit) {
            ipcp.service_id = CP_serviceID_Normal;
            ipcp.oper_id = SetVolUnitOpId;
            ipcp.oper_type = IPCP_OPERATION_SETREQUEST_NORETURN;
            ipcp.payload_type = IPCP_DATA_NORMAL;
            memset(ipcp.peer_ip, 0, sizeof(ipcp.peer_ip));
            strcpy(ipcp.peer_ip, CP_SERVICE_IP);
            ipcp.peer_port = CP_SERVICE_NORMAL_PORT;
            ipcp.payload_len = sizeof(OpSetVolUnit_SetRequestNoReturn);
            OpSetVolUnit_SetRequestNoReturn *buffer =
                    (OpSetVolUnit_SetRequestNoReturn *) new uint8_t[ipcp.payload_len];
            (*buffer).value = (uint8_t) signal.value.int32Values[0];
            ipcp.payload = (void *) buffer;
        }/**/
        else if (signal.signalId == (int32_t)APCPSignalTX::HmiAutoShowMod) {
            ipcp.service_id = CP_serviceID_Normal;
            ipcp.oper_id = HmiAutoShowModOpId;
            ipcp.oper_type = IPCP_OPERATION_SETREQUEST_NORETURN;
            ipcp.payload_type = IPCP_DATA_NORMAL;
            memset(ipcp.peer_ip, 0, sizeof(ipcp.peer_ip));
            strcpy(ipcp.peer_ip, CP_SERVICE_IP);
            ipcp.peer_port = CP_SERVICE_NORMAL_PORT;
            ipcp.payload_len = sizeof(OpHmiAutoShowMod_SetRequestNoReturn);
            OpHmiAutoShowMod_SetRequestNoReturn *buffer =
                    (OpHmiAutoShowMod_SetRequestNoReturn *) new uint8_t[ipcp.payload_len];
            (*buffer).value = (uint8_t) signal.value.int32Values[0];
            ipcp.payload = (void *) buffer;
        }/**/
        else if (signal.signalId == (int32_t)APCPSignalTX::MediaPlayInfoSync) {
            ipcp.service_id = CP_serviceID_Normal;
            ipcp.oper_id = MediaPlayInfoSyncOpId;
            ipcp.oper_type = IPCP_OPERATION_SETREQUEST_NORETURN;
            ipcp.payload_type = IPCP_DATA_NORMAL;
            memset(ipcp.peer_ip, 0, sizeof(ipcp.peer_ip));
            strcpy(ipcp.peer_ip, CP_SERVICE_IP);
            ipcp.peer_port = CP_SERVICE_NORMAL_PORT;
            ipcp.payload_len = sizeof(OpMediaPlayInfoSync_SetRequestNoReturn);
            OpMediaPlayInfoSync_SetRequestNoReturn set;
            memcpy(&set, signal.value.bytes.data(), signal.value.bytes.size());
            OpMediaPlayInfoSync_SetRequestNoReturn *buffer =
                    (OpMediaPlayInfoSync_SetRequestNoReturn *)
                            new uint8_t[ipcp.payload_len];
            memcpy(buffer, &set, ipcp.payload_len);
            ipcp.payload = (void *) buffer;
        }
        else if (signal.signalId == (int32_t)APCPSignalTX::MediaStatusInfoSync) {
            ipcp.service_id = CP_serviceID_Normal;
            ipcp.oper_id = MediaStatusInfoSyncOpId;
            ipcp.oper_type = IPCP_OPERATION_SETREQUEST_NORETURN;
            ipcp.payload_type = IPCP_DATA_NORMAL;
            memset(ipcp.peer_ip, 0, sizeof(ipcp.peer_ip));
            strcpy(ipcp.peer_ip, CP_SERVICE_IP);
            ipcp.peer_port = CP_SERVICE_NORMAL_PORT;
            ipcp.payload_len = sizeof(OpMediaStatusInfoSync_SetRequestNoReturn);
            OpMediaStatusInfoSync_SetRequestNoReturn set;
            memcpy(&set, signal.value.bytes.data(), signal.value.bytes.size());
            OpMediaStatusInfoSync_SetRequestNoReturn *buffer =
                    (OpMediaStatusInfoSync_SetRequestNoReturn *)
                            new uint8_t[ipcp.payload_len];
            memcpy(buffer, &set, ipcp.payload_len);
            ipcp.payload = (void *) buffer;
        }
        else if (signal.signalId == (int32_t)APCPSignalTX::VolChangeSync) {
            ipcp.service_id = CP_serviceID_Normal;
            ipcp.oper_id = VolChangeSyncOpId;
            ipcp.oper_type = IPCP_OPERATION_SETREQUEST_NORETURN;
            ipcp.payload_type = IPCP_DATA_NORMAL;
            memset(ipcp.peer_ip, 0, sizeof(ipcp.peer_ip));
            strcpy(ipcp.peer_ip, CP_SERVICE_IP);
            ipcp.peer_port = CP_SERVICE_NORMAL_PORT;
            ipcp.payload_len = sizeof(OpVolChangeSync_SetRequestNoReturn);
            OpVolChangeSync_SetRequestNoReturn set;
            memcpy(&set, signal.value.bytes.data(), signal.value.bytes.size());
            OpVolChangeSync_SetRequestNoReturn *buffer =
                    (OpVolChangeSync_SetRequestNoReturn *)
                            new uint8_t[ipcp.payload_len];
            memcpy(buffer, &set, ipcp.payload_len);
            ipcp.payload = (void *) buffer;
        }
        else if (signal.signalId == (int32_t)APCPSignalTX::BTCallInfoSync) {
            ipcp.service_id = CP_serviceID_Normal;
            ipcp.oper_id = BTCallInfoSyncOpId;
            ipcp.oper_type = IPCP_OPERATION_SETREQUEST_NORETURN;
            ipcp.payload_type = IPCP_DATA_NORMAL;
            memset(ipcp.peer_ip, 0, sizeof(ipcp.peer_ip));
            strcpy(ipcp.peer_ip, CP_SERVICE_IP);
            ipcp.peer_port = CP_SERVICE_NORMAL_PORT;
            ipcp.payload_len = sizeof(OpBTCallInfoSync_SetRequestNoReturn);
            OpBTCallInfoSync_SetRequestNoReturn set;
            memcpy(&set, signal.value.bytes.data(), signal.value.bytes.size());
            OpBTCallInfoSync_SetRequestNoReturn *buffer =
                    (OpBTCallInfoSync_SetRequestNoReturn *)
                            new uint8_t[ipcp.payload_len];
            memcpy(buffer, &set, ipcp.payload_len);
            ipcp.payload = (void *) buffer;
        }
        else if (signal.signalId == (int32_t)APCPSignalTX::NavTBTInfoSync) {
            ipcp.service_id = CP_serviceID_Normal;
            ipcp.oper_id = NavTBTInfoSyncOpId;
            ipcp.oper_type = IPCP_OPERATION_SETREQUEST_NORETURN;
            ipcp.payload_type = IPCP_DATA_NORMAL;
            memset(ipcp.peer_ip, 0, sizeof(ipcp.peer_ip));
            strcpy(ipcp.peer_ip, CP_SERVICE_IP);
            ipcp.peer_port = CP_SERVICE_NORMAL_PORT;
            ipcp.payload_len = sizeof(OpNavTBTInfoSync_SetRequestNoReturn);
            OpNavTBTInfoSync_SetRequestNoReturn set;
            memcpy(&set, signal.value.bytes.data(), signal.value.bytes.size());
            OpNavTBTInfoSync_SetRequestNoReturn *buffer =
                    (OpNavTBTInfoSync_SetRequestNoReturn *)
                            new uint8_t[ipcp.payload_len];
            memcpy(buffer, &set, ipcp.payload_len);
            ipcp.payload = (void *) buffer;
        }
        else if (signal.signalId == (int32_t)APCPSignalTX::NavLaneInfoSync) {
            ipcp.service_id = CP_serviceID_Normal;
            ipcp.oper_id = NavLaneInfoSyncOpId;
            ipcp.oper_type = IPCP_OPERATION_SETREQUEST_NORETURN;
            ipcp.payload_type = IPCP_DATA_NORMAL;
            memset(ipcp.peer_ip, 0, sizeof(ipcp.peer_ip));
            strcpy(ipcp.peer_ip, CP_SERVICE_IP);
            ipcp.peer_port = CP_SERVICE_NORMAL_PORT;
            ipcp.payload_len = sizeof(OpNavLaneInfoSync_SetRequestNoReturn);
            OpNavLaneInfoSync_SetRequestNoReturn set;
            memcpy(&set, signal.value.bytes.data(), signal.value.bytes.size());
            OpNavLaneInfoSync_SetRequestNoReturn *buffer =
                    (OpNavLaneInfoSync_SetRequestNoReturn *)
                            new uint8_t[ipcp.payload_len];
            memcpy(buffer, &set, ipcp.payload_len);
            ipcp.payload = (void *) buffer;
        }
        else if (signal.signalId == (int32_t)APCPSignalTX::NavETAInfoSync) {
            ipcp.service_id = CP_serviceID_Normal;
            ipcp.oper_id = NavETAInfoSyncOpId;
            ipcp.oper_type = IPCP_OPERATION_SETREQUEST_NORETURN;
            ipcp.payload_type = IPCP_DATA_NORMAL;
            memset(ipcp.peer_ip, 0, sizeof(ipcp.peer_ip));
            strcpy(ipcp.peer_ip, CP_SERVICE_IP);
            ipcp.peer_port = CP_SERVICE_NORMAL_PORT;
            ipcp.payload_len = sizeof(OpNavETAInfoSync_SetRequestNoReturn);
            OpNavETAInfoSync_SetRequestNoReturn set;
            memcpy(&set, signal.value.bytes.data(), signal.value.bytes.size());
            OpNavETAInfoSync_SetRequestNoReturn *buffer =
                    (OpNavETAInfoSync_SetRequestNoReturn *)
                            new uint8_t[ipcp.payload_len];
            memcpy(buffer, &set, ipcp.payload_len);
            ipcp.payload = (void *) buffer;
        }
        else if (signal.signalId == (int32_t)APCPSignalTX::NavTBTNextInfoSync) {
            ipcp.service_id = CP_serviceID_Normal;
            ipcp.oper_id = NavTBTNextInfoSyncOpId;
            ipcp.oper_type = IPCP_OPERATION_SETREQUEST_NORETURN;
            ipcp.payload_type = IPCP_DATA_NORMAL;
            memset(ipcp.peer_ip, 0, sizeof(ipcp.peer_ip));
            strcpy(ipcp.peer_ip, CP_SERVICE_IP);
            ipcp.peer_port = CP_SERVICE_NORMAL_PORT;
            ipcp.payload_len = sizeof(OpNavTBTNextInfoSync_SetRequestNoReturn);
            OpNavTBTNextInfoSync_SetRequestNoReturn set;
            memcpy(&set, signal.value.bytes.data(), signal.value.bytes.size());
            OpNavTBTNextInfoSync_SetRequestNoReturn *buffer =
                    (OpNavTBTNextInfoSync_SetRequestNoReturn *)
                            new uint8_t[ipcp.payload_len];
            memcpy(buffer, &set, ipcp.payload_len);
            ipcp.payload = (void *) buffer;
        }
        else if (signal.signalId == (int32_t)APCPSignalTX::MediaCoverPackSync) {
            ipcp.service_id = CP_serviceID_Normal;
            ipcp.oper_id = MediaCoverPackSyncOpId;
            ipcp.oper_type = IPCP_OPERATION_SETREQUEST_NORETURN;
            ipcp.payload_type = IPCP_DATA_NORMAL;
            memset(ipcp.peer_ip, 0, sizeof(ipcp.peer_ip));
            strcpy(ipcp.peer_ip, CP_SERVICE_IP);
            ipcp.peer_port = CP_SERVICE_NORMAL_PORT;
            ipcp.payload_len = sizeof(OpMediaCoverPackSync_SetRequestNoReturn);
            OpMediaCoverPackSync_SetRequestNoReturn set;
            memcpy(&set, signal.value.bytes.data(), signal.value.bytes.size());
            OpMediaCoverPackSync_SetRequestNoReturn *buffer =
                    (OpMediaCoverPackSync_SetRequestNoReturn *)
                            new uint8_t[ipcp.payload_len];
            memcpy(buffer, &set, ipcp.payload_len);
            ipcp.payload = (void *) buffer;
        }
        else if (signal.signalId == (int32_t)APCPSignalTX::DIMViewSet) {
            ipcp.service_id = CP_serviceID_Normal;
            ipcp.oper_id = DIMViewSetOpId;
            ipcp.oper_type = IPCP_OPERATION_SETREQUEST_NORETURN;
            ipcp.payload_type = IPCP_DATA_NORMAL;
            memset(ipcp.peer_ip, 0, sizeof(ipcp.peer_ip));
            strcpy(ipcp.peer_ip, CP_SERVICE_IP);
            ipcp.peer_port = CP_SERVICE_NORMAL_PORT;
            ipcp.payload_len = sizeof(OpDIMViewSet_SetRequestNoReturn);
            OpDIMViewSet_SetRequestNoReturn *buffer =
                    (OpDIMViewSet_SetRequestNoReturn *) new uint8_t[ipcp.payload_len];
            (*buffer).value = (uint8_t) signal.value.int32Values[0];
            ipcp.payload = (void *) buffer;
        }/**/
        else if (signal.signalId == (int32_t)APCPSignalTX::HmiThemeModReq) {
            ipcp.service_id = CP_serviceID_Normal;
            ipcp.oper_id = HmiThemeModReqOpId;
            ipcp.oper_type = IPCP_OPERATION_SETREQUEST_NORETURN;
            ipcp.payload_type = IPCP_DATA_NORMAL;
            memset(ipcp.peer_ip, 0, sizeof(ipcp.peer_ip));
            strcpy(ipcp.peer_ip, CP_SERVICE_IP);
            ipcp.peer_port = CP_SERVICE_NORMAL_PORT;
            ipcp.payload_len = sizeof(OpHmiThemeModReq_SetRequestNoReturn);
            OpHmiThemeModReq_SetRequestNoReturn *buffer =
                    (OpHmiThemeModReq_SetRequestNoReturn *) new uint8_t[ipcp.payload_len];
            (*buffer).value = (uint8_t) signal.value.int32Values[0];
            ipcp.payload = (void *) buffer;
        }/**/
        else if (signal.signalId == (int32_t)APCPSignalTX::IntrBriStst2DIM) {
            ipcp.service_id = CP_serviceID_Normal;
            ipcp.oper_id = IntrBriStst2DIMOpId;
            ipcp.oper_type = IPCP_OPERATION_SETREQUEST_NORETURN;
            ipcp.payload_type = IPCP_DATA_NORMAL;
            memset(ipcp.peer_ip, 0, sizeof(ipcp.peer_ip));
            strcpy(ipcp.peer_ip, CP_SERVICE_IP);
            ipcp.peer_port = CP_SERVICE_NORMAL_PORT;
            ipcp.payload_len = sizeof(OpIntrBriStst2DIM_SetRequestNoReturn);
            OpIntrBriStst2DIM_SetRequestNoReturn *buffer =
                    (OpIntrBriStst2DIM_SetRequestNoReturn *) new uint8_t[ipcp.payload_len];
            (*buffer).value = (uint8_t) signal.value.int32Values[0];
            ipcp.payload = (void *) buffer;
        }/**/
        else if (signal.signalId == (int32_t)APCPSignalTX::CustomKeyAction2DIM) {
            ipcp.service_id = CP_serviceID_Normal;
            ipcp.oper_id = CustomKeyAction2DIMOpId;
            ipcp.oper_type = IPCP_OPERATION_SETREQUEST_NORETURN;
            ipcp.payload_type = IPCP_DATA_NORMAL;
            memset(ipcp.peer_ip, 0, sizeof(ipcp.peer_ip));
            strcpy(ipcp.peer_ip, CP_SERVICE_IP);
            ipcp.peer_port = CP_SERVICE_NORMAL_PORT;
            ipcp.payload_len = sizeof(OpCustomKeyAction2DIM_SetRequestNoReturn);
            OpCustomKeyAction2DIM_SetRequestNoReturn *buffer =
                    (OpCustomKeyAction2DIM_SetRequestNoReturn *) new uint8_t[ipcp.payload_len];
            (*buffer).value = (uint8_t) signal.value.int32Values[0];
            ipcp.payload = (void *) buffer;
        }/**/
        else if (signal.signalId == (int32_t)APCPSignalTX::SoundVolLvlSet) {
            ipcp.service_id = CP_serviceID_Normal;
            ipcp.oper_id = SoundVolLvlSetOpId;
            ipcp.oper_type = IPCP_OPERATION_SETREQUEST_NORETURN;
            ipcp.payload_type = IPCP_DATA_NORMAL;
            memset(ipcp.peer_ip, 0, sizeof(ipcp.peer_ip));
            strcpy(ipcp.peer_ip, CP_SERVICE_IP);
            ipcp.peer_port = CP_SERVICE_NORMAL_PORT;
            ipcp.payload_len = sizeof(OpSoundVolLvlSet_SetRequestNoReturn);
            OpSoundVolLvlSet_SetRequestNoReturn *buffer =
                    (OpSoundVolLvlSet_SetRequestNoReturn *) new uint8_t[ipcp.payload_len];
            (*buffer).value = (uint8_t) signal.value.int32Values[0];
            ipcp.payload = (void *) buffer;
        }/**/
        else if (signal.signalId == (int32_t)APCPSignalTX::FaceRecIndcrFromDHU) {
            ipcp.service_id = CP_serviceID_Normal;
            ipcp.oper_id = FaceRecIndcrFromDHUOpId;
            ipcp.oper_type = IPCP_OPERATION_SETREQUEST_NORETURN;
            ipcp.payload_type = IPCP_DATA_NORMAL;
            memset(ipcp.peer_ip, 0, sizeof(ipcp.peer_ip));
            strcpy(ipcp.peer_ip, CP_SERVICE_IP);
            ipcp.peer_port = CP_SERVICE_NORMAL_PORT;
            ipcp.payload_len = sizeof(OpFaceRecIndcrFromDHU_SetRequestNoReturn);
            OpFaceRecIndcrFromDHU_SetRequestNoReturn *buffer =
                    (OpFaceRecIndcrFromDHU_SetRequestNoReturn *) new uint8_t[ipcp.payload_len];
            (*buffer).value = (uint8_t) signal.value.int32Values[0];
            ipcp.payload = (void *) buffer;
        }/**/
        else if (signal.signalId == (int32_t)APCPSignalTX::BTCallCoverSync) {
            ipcp.service_id = CP_serviceID_Normal;
            ipcp.oper_id = BTCallCoverSyncOpId;
            ipcp.oper_type = IPCP_OPERATION_SETREQUEST_NORETURN;
            ipcp.payload_type = IPCP_DATA_NORMAL;
            memset(ipcp.peer_ip, 0, sizeof(ipcp.peer_ip));
            strcpy(ipcp.peer_ip, CP_SERVICE_IP);
            ipcp.peer_port = CP_SERVICE_NORMAL_PORT;
            ipcp.payload_len = sizeof(OpBTCallCoverSync_SetRequestNoReturn);
            OpBTCallCoverSync_SetRequestNoReturn set;
            memcpy(&set, signal.value.bytes.data(), signal.value.bytes.size());
            OpBTCallCoverSync_SetRequestNoReturn *buffer =
                    (OpBTCallCoverSync_SetRequestNoReturn *)
                            new uint8_t[ipcp.payload_len];
            memcpy(buffer, &set, ipcp.payload_len);
            ipcp.payload = (void *) buffer;
        }
        else if (signal.signalId == (int32_t)APCPSignalTX::HmiThemeStyleSync) {
            ipcp.service_id = CP_serviceID_Normal;
            ipcp.oper_id = HmiThemeStyleSyncOpId;
            ipcp.oper_type = IPCP_OPERATION_SETREQUEST_NORETURN;
            ipcp.payload_type = IPCP_DATA_NORMAL;
            memset(ipcp.peer_ip, 0, sizeof(ipcp.peer_ip));
            strcpy(ipcp.peer_ip, CP_SERVICE_IP);
            ipcp.peer_port = CP_SERVICE_NORMAL_PORT;
            ipcp.payload_len = sizeof(OpHmiThemeStyleSync_SetRequestNoReturn);
            OpHmiThemeStyleSync_SetRequestNoReturn *buffer =
                    (OpHmiThemeStyleSync_SetRequestNoReturn *) new uint8_t[ipcp.payload_len];
            (*buffer).value = (uint8_t) signal.value.int32Values[0];
            ipcp.payload = (void *) buffer;
        }/**/
        else if (signal.signalId == (int32_t)APCPSignalTX::OverSpeedAlarmInfo) {
            ipcp.service_id = CP_serviceID_Normal;
            ipcp.oper_id = OverSpeedAlarmInfoOpId;
            ipcp.oper_type = IPCP_OPERATION_SETREQUEST_NORETURN;
            ipcp.payload_type = IPCP_DATA_NORMAL;
            memset(ipcp.peer_ip, 0, sizeof(ipcp.peer_ip));
            strcpy(ipcp.peer_ip, CP_SERVICE_IP);
            ipcp.peer_port = CP_SERVICE_NORMAL_PORT;
            ipcp.payload_len = sizeof(OpOverSpeedAlarmInfo_SetRequestNoReturn);
            OpOverSpeedAlarmInfo_SetRequestNoReturn *buffer =
                    (OpOverSpeedAlarmInfo_SetRequestNoReturn *) new uint8_t[ipcp.payload_len];
            (*buffer).value = (uint8_t) signal.value.int32Values[0];
            ipcp.payload = (void *) buffer;
        }/**/
        else if (signal.signalId == (int32_t)APCPSignalTX::PwrSldgDoorStrgMusicSet) {
            ipcp.service_id = CP_serviceID_Normal;
            ipcp.oper_id = PwrSldgDoorStrgMusicSetOpId;
            ipcp.oper_type = IPCP_OPERATION_SETREQUEST_NORETURN;
            ipcp.payload_type = IPCP_DATA_NORMAL;
            memset(ipcp.peer_ip, 0, sizeof(ipcp.peer_ip));
            strcpy(ipcp.peer_ip, CP_SERVICE_IP);
            ipcp.peer_port = CP_SERVICE_NORMAL_PORT;
            ipcp.payload_len = sizeof(OpPwrSldgDoorStrgMusicSet_SetRequestNoReturn);
            OpPwrSldgDoorStrgMusicSet_SetRequestNoReturn *buffer =
                    (OpPwrSldgDoorStrgMusicSet_SetRequestNoReturn *) new uint8_t[ipcp.payload_len];
            (*buffer).value = (uint8_t) signal.value.int32Values[0];
            ipcp.payload = (void *) buffer;
        }/**/
        else if (signal.signalId == (int32_t)APCPSignalTX::PwrSldgDoorStrgMusicTpeReq) {
            ipcp.service_id = CP_serviceID_Normal;
            ipcp.oper_id = PwrSldgDoorStrgMusicTpeReqOpId;
            ipcp.oper_type = IPCP_OPERATION_SETREQUEST_NORETURN;
            ipcp.payload_type = IPCP_DATA_NORMAL;
            memset(ipcp.peer_ip, 0, sizeof(ipcp.peer_ip));
            strcpy(ipcp.peer_ip, CP_SERVICE_IP);
            ipcp.peer_port = CP_SERVICE_NORMAL_PORT;
            ipcp.payload_len = sizeof(OpPwrSldgDoorStrgMusicTpeReq_SetRequestNoReturn);
            OpPwrSldgDoorStrgMusicTpeReq_SetRequestNoReturn *buffer =
                    (OpPwrSldgDoorStrgMusicTpeReq_SetRequestNoReturn *) new uint8_t[ipcp.payload_len];
            (*buffer).value = (uint8_t) signal.value.int32Values[0];
            ipcp.payload = (void *) buffer;
        }/**/
        else if (signal.signalId == (int32_t)APCPSignalTX::SeScrShrCmd) {
            ipcp.service_id = CP_serviceID_Normal;
            ipcp.oper_id = SeScrShrCmdOpId;
            ipcp.oper_type = IPCP_OPERATION_SETREQUEST_NORETURN;
            ipcp.payload_type = IPCP_DATA_NORMAL;
            memset(ipcp.peer_ip, 0, sizeof(ipcp.peer_ip));
            strcpy(ipcp.peer_ip, CP_SERVICE_IP);
            ipcp.peer_port = CP_SERVICE_NORMAL_PORT;
            ipcp.payload_len = sizeof(OpSeScrShrCmd_SetRequestNoReturn);
            OpSeScrShrCmd_SetRequestNoReturn set;
            memcpy(&set, signal.value.bytes.data(), signal.value.bytes.size());
            OpSeScrShrCmd_SetRequestNoReturn *buffer =
                    (OpSeScrShrCmd_SetRequestNoReturn *)
                            new uint8_t[ipcp.payload_len];
            memcpy(buffer, &set, ipcp.payload_len);
            ipcp.payload = (void *) buffer;
        }
        else if (signal.signalId == (int32_t)APCPSignalTX::SnsrDrvrPfmncStsToDim) {
            ipcp.service_id = CP_serviceID_Normal;
            ipcp.oper_id = SnsrDrvrPfmncStsToDimOpId;
            ipcp.oper_type = IPCP_OPERATION_SETREQUEST_NORETURN;
            ipcp.payload_type = IPCP_DATA_NORMAL;
            memset(ipcp.peer_ip, 0, sizeof(ipcp.peer_ip));
            strcpy(ipcp.peer_ip, CP_SERVICE_IP);
            ipcp.peer_port = CP_SERVICE_NORMAL_PORT;
            ipcp.payload_len = sizeof(OpSnsrDrvrPfmncStsToDim_SetRequestNoReturn);
            OpSnsrDrvrPfmncStsToDim_SetRequestNoReturn *buffer =
                    (OpSnsrDrvrPfmncStsToDim_SetRequestNoReturn *) new uint8_t[ipcp.payload_len];
            (*buffer).value = (uint8_t) signal.value.int32Values[0];
            ipcp.payload = (void *) buffer;
        }/**/
        else if (signal.signalId == (int32_t)APCPSignalTX::ResChrgStrTiSync) {
            ipcp.service_id = CP_serviceID_Normal;
            ipcp.oper_id = ResChrgStrTiSyncOpId;
            ipcp.oper_type = IPCP_OPERATION_SETREQUEST_NORETURN;
            ipcp.payload_type = IPCP_DATA_NORMAL;
            memset(ipcp.peer_ip, 0, sizeof(ipcp.peer_ip));
            strcpy(ipcp.peer_ip, CP_SERVICE_IP);
            ipcp.peer_port = CP_SERVICE_NORMAL_PORT;
            ipcp.payload_len = sizeof(OpResChrgStrTiSync_SetRequestNoReturn);
            OpResChrgStrTiSync_SetRequestNoReturn set;
            memcpy(&set, signal.value.bytes.data(), signal.value.bytes.size());
            OpResChrgStrTiSync_SetRequestNoReturn *buffer =
                    (OpResChrgStrTiSync_SetRequestNoReturn *)
                            new uint8_t[ipcp.payload_len];
            memcpy(buffer, &set, ipcp.payload_len);
            ipcp.payload = (void *) buffer;
        }
        else if (signal.signalId == (int32_t)APCPSignalTX::WirelsDevLostWarnSts) {
            ipcp.service_id = CP_serviceID_Normal;
            ipcp.oper_id = WirelsDevLostWarnStsOpId;
            ipcp.oper_type = IPCP_OPERATION_SETREQUEST_NORETURN;
            ipcp.payload_type = IPCP_DATA_NORMAL;
            memset(ipcp.peer_ip, 0, sizeof(ipcp.peer_ip));
            strcpy(ipcp.peer_ip, CP_SERVICE_IP);
            ipcp.peer_port = CP_SERVICE_NORMAL_PORT;
            ipcp.payload_len = sizeof(OpWirelsDevLostWarnSts_SetRequestNoReturn);
            OpWirelsDevLostWarnSts_SetRequestNoReturn *buffer =
                    (OpWirelsDevLostWarnSts_SetRequestNoReturn *) new uint8_t[ipcp.payload_len];
            (*buffer).value = (uint8_t) signal.value.int32Values[0];
            ipcp.payload = (void *) buffer;
        }/**/
        else if (signal.signalId == (int32_t)APCPSignalTX::SeScrShrBriSts) {
            ipcp.service_id = CP_serviceID_Normal;
            ipcp.oper_id = SeScrShrBriStsOpId;
            ipcp.oper_type = IPCP_OPERATION_SETREQUEST_NORETURN;
            ipcp.payload_type = IPCP_DATA_NORMAL;
            memset(ipcp.peer_ip, 0, sizeof(ipcp.peer_ip));
            strcpy(ipcp.peer_ip, CP_SERVICE_IP);
            ipcp.peer_port = CP_SERVICE_NORMAL_PORT;
            ipcp.payload_len = sizeof(OpSeScrShrBriSts_SetRequestNoReturn);
            OpSeScrShrBriSts_SetRequestNoReturn *buffer =
                    (OpSeScrShrBriSts_SetRequestNoReturn *) new uint8_t[ipcp.payload_len];
            (*buffer).value = (uint8_t) signal.value.int32Values[0];
            ipcp.payload = (void *) buffer;
        }/**/
        else if (signal.signalId == (int32_t)APCPSignalTX::AvasVolSwitchToDim) {
            ipcp.service_id = CP_serviceID_Normal;
            ipcp.oper_id = AvasVolSwitchToDimOpId;
            ipcp.oper_type = IPCP_OPERATION_SETREQUEST_NORETURN;
            ipcp.payload_type = IPCP_DATA_NORMAL;
            memset(ipcp.peer_ip, 0, sizeof(ipcp.peer_ip));
            strcpy(ipcp.peer_ip, CP_SERVICE_IP);
            ipcp.peer_port = CP_SERVICE_NORMAL_PORT;
            ipcp.payload_len = sizeof(OpAvasVolSwitchToDim_SetRequestNoReturn);
            OpAvasVolSwitchToDim_SetRequestNoReturn *buffer =
                    (OpAvasVolSwitchToDim_SetRequestNoReturn *) new uint8_t[ipcp.payload_len];
            (*buffer).value = (uint8_t) signal.value.int32Values[0];
            ipcp.payload = (void *) buffer;
        }/**/
        else if (signal.signalId == (int32_t)APCPSignalTX::AutoTimeEngineSync) {
            ipcp.service_id = CP_serviceID_Normal;
            ipcp.oper_id = AutoTimeEngineSyncOpId;
            ipcp.oper_type = IPCP_OPERATION_SETREQUEST_NORETURN;
            ipcp.payload_type = IPCP_DATA_NORMAL;
            memset(ipcp.peer_ip, 0, sizeof(ipcp.peer_ip));
            strcpy(ipcp.peer_ip, CP_SERVICE_IP);
            ipcp.peer_port = CP_SERVICE_NORMAL_PORT;
            ipcp.payload_len = sizeof(OpAutoTimeEngineSync_SetRequestNoReturn);
            OpAutoTimeEngineSync_SetRequestNoReturn set;
            memcpy(&set, signal.value.bytes.data(), signal.value.bytes.size());
            OpAutoTimeEngineSync_SetRequestNoReturn *buffer =
                    (OpAutoTimeEngineSync_SetRequestNoReturn *)
                            new uint8_t[ipcp.payload_len];
            memcpy(buffer, &set, ipcp.payload_len);
            ipcp.payload = (void *) buffer;
        }
        else if (signal.signalId == (int32_t)APCPSignalTX::HudDispActvReq) {
            ipcp.service_id = CP_serviceID_Normal;
            ipcp.oper_id = HudDispActvReqOpId;
            ipcp.oper_type = IPCP_OPERATION_SETREQUEST_NORETURN;
            ipcp.payload_type = IPCP_DATA_NORMAL;
            memset(ipcp.peer_ip, 0, sizeof(ipcp.peer_ip));
            strcpy(ipcp.peer_ip, CP_SERVICE_IP);
            ipcp.peer_port = CP_SERVICE_NORMAL_PORT;
            ipcp.payload_len = sizeof(OpHudDispActvReq_SetRequestNoReturn);
            OpHudDispActvReq_SetRequestNoReturn *buffer =
                    (OpHudDispActvReq_SetRequestNoReturn *) new uint8_t[ipcp.payload_len];
            (*buffer).value = (uint8_t) signal.value.int32Values[0];
            ipcp.payload = (void *) buffer;
        }/**/
        else if (signal.signalId == (int32_t)APCPSignalTX::HudSnowModeReq) {
            ipcp.service_id = CP_serviceID_Normal;
            ipcp.oper_id = HudSnowModeReqOpId;
            ipcp.oper_type = IPCP_OPERATION_SETREQUEST_NORETURN;
            ipcp.payload_type = IPCP_DATA_NORMAL;
            memset(ipcp.peer_ip, 0, sizeof(ipcp.peer_ip));
            strcpy(ipcp.peer_ip, CP_SERVICE_IP);
            ipcp.peer_port = CP_SERVICE_NORMAL_PORT;
            ipcp.payload_len = sizeof(OpHudSnowModeReq_SetRequestNoReturn);
            OpHudSnowModeReq_SetRequestNoReturn *buffer =
                    (OpHudSnowModeReq_SetRequestNoReturn *) new uint8_t[ipcp.payload_len];
            (*buffer).value = (uint8_t) signal.value.int32Values[0];
            ipcp.payload = (void *) buffer;
        }/**/
        else if (signal.signalId == (int32_t)APCPSignalTX::SetHUDARSwitch) {
            ipcp.service_id = CP_serviceID_Normal;
            ipcp.oper_id = SetHUDARSwitchOpId;
            ipcp.oper_type = IPCP_OPERATION_SETREQUEST_NORETURN;
            ipcp.payload_type = IPCP_DATA_NORMAL;
            memset(ipcp.peer_ip, 0, sizeof(ipcp.peer_ip));
            strcpy(ipcp.peer_ip, CP_SERVICE_IP);
            ipcp.peer_port = CP_SERVICE_NORMAL_PORT;
            ipcp.payload_len = sizeof(OpSetHUDARSwitch_SetRequestNoReturn);
            OpSetHUDARSwitch_SetRequestNoReturn *buffer =
                    (OpSetHUDARSwitch_SetRequestNoReturn *) new uint8_t[ipcp.payload_len];
            (*buffer).value = (uint8_t) signal.value.int32Values[0];
            ipcp.payload = (void *) buffer;
        }/**/
        else if (signal.signalId == (int32_t)APCPSignalTX::GlbRstForSetgAndData) {
            ipcp.service_id = CP_serviceID_Normal;
            ipcp.oper_id = GlbRstForSetgAndDataOpId;
            ipcp.oper_type = IPCP_OPERATION_SETREQUEST_NORETURN;
            ipcp.payload_type = IPCP_DATA_NORMAL;
            memset(ipcp.peer_ip, 0, sizeof(ipcp.peer_ip));
            strcpy(ipcp.peer_ip, CP_SERVICE_IP);
            ipcp.peer_port = CP_SERVICE_NORMAL_PORT;
            ipcp.payload_len = sizeof(OpGlbRstForSetgAndData_SetRequestNoReturn);
            OpGlbRstForSetgAndData_SetRequestNoReturn set;
            memcpy(&set, signal.value.bytes.data(), signal.value.bytes.size());
            OpGlbRstForSetgAndData_SetRequestNoReturn *buffer =
                    (OpGlbRstForSetgAndData_SetRequestNoReturn *)
                            new uint8_t[ipcp.payload_len];
            memcpy(buffer, &set, ipcp.payload_len);
            ipcp.payload = (void *) buffer;
        }
        else if (signal.signalId == (int32_t)APCPSignalTX::DriftModOnOff) {
            ipcp.service_id = CP_serviceID_Normal;
            ipcp.oper_id = DriftModOnOffOpId;
            ipcp.oper_type = IPCP_OPERATION_SETREQUEST_NORETURN;
            ipcp.payload_type = IPCP_DATA_NORMAL;
            memset(ipcp.peer_ip, 0, sizeof(ipcp.peer_ip));
            strcpy(ipcp.peer_ip, CP_SERVICE_IP);
            ipcp.peer_port = CP_SERVICE_NORMAL_PORT;
            ipcp.payload_len = sizeof(OpDriftModOnOff_SetRequestNoReturn);
            OpDriftModOnOff_SetRequestNoReturn *buffer =
                    (OpDriftModOnOff_SetRequestNoReturn *) new uint8_t[ipcp.payload_len];
            (*buffer).value = (uint8_t) signal.value.int32Values[0];
            ipcp.payload = (void *) buffer;
        }/**/
        else if (signal.signalId == (int32_t)APCPSignalTX::HudPrefInfoSet) {
            ipcp.service_id = CP_serviceID_Normal;
            ipcp.oper_id = HudPrefInfoSetOpId;
            ipcp.oper_type = IPCP_OPERATION_SETREQUEST_NORETURN;
            ipcp.payload_type = IPCP_DATA_NORMAL;
            memset(ipcp.peer_ip, 0, sizeof(ipcp.peer_ip));
            strcpy(ipcp.peer_ip, CP_SERVICE_IP);
            ipcp.peer_port = CP_SERVICE_NORMAL_PORT;
            ipcp.payload_len = sizeof(OpHudPrefInfoSet_SetRequestNoReturn);
            OpHudPrefInfoSet_SetRequestNoReturn *buffer =
                    (OpHudPrefInfoSet_SetRequestNoReturn *) new uint8_t[ipcp.payload_len];
            (*buffer).value = (uint8_t) signal.value.int32Values[0];
            ipcp.payload = (void *) buffer;
        }/**/
        else if (signal.signalId == (int32_t)APCPSignalTX::DimNaviInfoSync) {
            ipcp.service_id = CP_serviceID_Normal;
            ipcp.oper_id = DimNaviInfoSyncOpId;
            ipcp.oper_type = IPCP_OPERATION_SETREQUEST_NORETURN;
            ipcp.payload_type = IPCP_DATA_NORMAL;
            memset(ipcp.peer_ip, 0, sizeof(ipcp.peer_ip));
            strcpy(ipcp.peer_ip, CP_SERVICE_IP);
            ipcp.peer_port = CP_SERVICE_NORMAL_PORT;
            ipcp.payload_len = signal.value.bytes.size();
            ipcp.payload = (void *) signal.value.bytes.data();
        }
        else if (signal.signalId == (int32_t)APCPSignalTX::DimBTCallInfoSync) {
            ipcp.service_id = CP_serviceID_Normal;
            ipcp.oper_id = DimBTCallInfoSyncOpId;
            ipcp.oper_type = IPCP_OPERATION_SETREQUEST_NORETURN;
            ipcp.payload_type = IPCP_DATA_NORMAL;
            memset(ipcp.peer_ip, 0, sizeof(ipcp.peer_ip));
            strcpy(ipcp.peer_ip, CP_SERVICE_IP);
            ipcp.peer_port = CP_SERVICE_NORMAL_PORT;
            ipcp.payload_len = signal.value.bytes.size();
            ipcp.payload = (void *) signal.value.bytes.data();
        }
        else if (signal.signalId == (int32_t)APCPSignalTX::DimMediaInfoSync) {
            ipcp.service_id = CP_serviceID_Normal;
            ipcp.oper_id = DimMediaInfoSyncOpId;
            ipcp.oper_type = IPCP_OPERATION_SETREQUEST_NORETURN;
            ipcp.payload_type = IPCP_DATA_NORMAL;
            memset(ipcp.peer_ip, 0, sizeof(ipcp.peer_ip));
            strcpy(ipcp.peer_ip, CP_SERVICE_IP);
            ipcp.peer_port = CP_SERVICE_NORMAL_PORT;
            ipcp.payload_len = signal.value.bytes.size();
            ipcp.payload = (void *) signal.value.bytes.data();
        }
        else if (signal.signalId == (int32_t)APCPSignalTX::Status2CpTimeSync) {
            ipcp.service_id = CP_serviceID_TimeSync;
            ipcp.oper_id = Status2CpTimeSyncOpId;
            ipcp.oper_type = IPCP_OPERATION_SETREQUEST_NORETURN;
            ipcp.payload_type = IPCP_DATA_NORMAL;
            memset(ipcp.peer_ip, 0, sizeof(ipcp.peer_ip));
            strcpy(ipcp.peer_ip, CP_SERVICE_IP);
            ipcp.peer_port = CP_SERVICE_TIME_PORT;
            ipcp.payload_len = sizeof(OpStatus2CpTimeSync_SetRequestNoReturn);
            OpStatus2CpTimeSync_SetRequestNoReturn *buffer =
                    (OpStatus2CpTimeSync_SetRequestNoReturn *) new uint8_t[ipcp.payload_len];
            (*buffer).value = (uint8_t) signal.value.int32Values[0];
            ipcp.payload = (void *) buffer;
        }/**/
        else if (signal.signalId == (int32_t)APCPSignalTX::TimeSync) {
            ipcp.service_id = CP_serviceID_TimeSync;
            ipcp.oper_id = TimeSyncOpId;
            ipcp.oper_type = IPCP_OPERATION_SETREQUEST_NORETURN;
            ipcp.payload_type = IPCP_DATA_NORMAL;
            memset(ipcp.peer_ip, 0, sizeof(ipcp.peer_ip));
            strcpy(ipcp.peer_ip, CP_SERVICE_IP);
            ipcp.peer_port = CP_SERVICE_TIME_PORT;
            ipcp.payload_len = sizeof(OpTimeSync_SetRequestNoReturn);
            OpTimeSync_SetRequestNoReturn set;
            memcpy(&set, signal.value.bytes.data(), signal.value.bytes.size());
            OpTimeSync_SetRequestNoReturn *buffer =
                    (OpTimeSync_SetRequestNoReturn *)
                            new uint8_t[ipcp.payload_len];
            memcpy(buffer, &set, ipcp.payload_len);
            ipcp.payload = (void *) buffer;
        }
        else if (signal.signalId == (int32_t)APCPSignalTX::Status2CpAVAS) {
            ipcp.service_id = CP_serviceID_AVAS;
            ipcp.oper_id = Status2CpAVASOpId;
            ipcp.oper_type = IPCP_OPERATION_SETREQUEST_NORETURN;
            ipcp.payload_type = IPCP_DATA_NORMAL;
            memset(ipcp.peer_ip, 0, sizeof(ipcp.peer_ip));
            strcpy(ipcp.peer_ip, CP_SERVICE_IP);
            ipcp.peer_port = CP_SERVICE_AVAS_PORT;
            ipcp.payload_len = sizeof(OpStatus2CpAVAS_SetRequestNoReturn);
            OpStatus2CpAVAS_SetRequestNoReturn *buffer =
                    (OpStatus2CpAVAS_SetRequestNoReturn *) new uint8_t[ipcp.payload_len];
            (*buffer).value = (uint8_t) signal.value.int32Values[0];
            ipcp.payload = (void *) buffer;
        }/**/
        else if (signal.signalId == (int32_t)APCPSignalTX::AvasVolSwitch) {
            ipcp.service_id = CP_serviceID_AVAS;
            ipcp.oper_id = AvasVolSwitchOpId;
            ipcp.oper_type = IPCP_OPERATION_SETREQUEST_NORETURN;
            ipcp.payload_type = IPCP_DATA_NORMAL;
            memset(ipcp.peer_ip, 0, sizeof(ipcp.peer_ip));
            strcpy(ipcp.peer_ip, CP_SERVICE_IP);
            ipcp.peer_port = CP_SERVICE_AVAS_PORT;
            ipcp.payload_len = sizeof(OpAvasVolSwitch_SetRequestNoReturn);
            OpAvasVolSwitch_SetRequestNoReturn *buffer =
                    (OpAvasVolSwitch_SetRequestNoReturn *) new uint8_t[ipcp.payload_len];
            (*buffer).value = (uint8_t) signal.value.int32Values[0];
            ipcp.payload = (void *) buffer;
        }/**/
        else if (signal.signalId == (int32_t)APCPSignalTX::AvasVolTypeSync) {
            ipcp.service_id = CP_serviceID_AVAS;
            ipcp.oper_id = AvasVolTypeSyncOpId;
            ipcp.oper_type = IPCP_OPERATION_SETREQUEST_NORETURN;
            ipcp.payload_type = IPCP_DATA_NORMAL;
            memset(ipcp.peer_ip, 0, sizeof(ipcp.peer_ip));
            strcpy(ipcp.peer_ip, CP_SERVICE_IP);
            ipcp.peer_port = CP_SERVICE_AVAS_PORT;
            ipcp.payload_len = sizeof(OpAvasVolTypeSync_SetRequestNoReturn);
            OpAvasVolTypeSync_SetRequestNoReturn *buffer =
                    (OpAvasVolTypeSync_SetRequestNoReturn *) new uint8_t[ipcp.payload_len];
            (*buffer).value = (uint8_t) signal.value.int32Values[0];
            ipcp.payload = (void *) buffer;
        }/**/
        else if (signal.signalId == (int32_t)APCPSignalTX::AvasDiagnosisReq) {
            ipcp.service_id = CP_serviceID_AVAS;
            ipcp.oper_id = AvasDiagnosisReqOpId;
            ipcp.oper_type = IPCP_OPERATION_SETREQUEST_NORETURN;
            ipcp.payload_type = IPCP_DATA_NORMAL;
            memset(ipcp.peer_ip, 0, sizeof(ipcp.peer_ip));
            strcpy(ipcp.peer_ip, CP_SERVICE_IP);
            ipcp.peer_port = CP_SERVICE_AVAS_PORT;
            ipcp.payload_len = sizeof(OpAvasDiagnosisReq_SetRequestNoReturn);
            OpAvasDiagnosisReq_SetRequestNoReturn *buffer =
                    (OpAvasDiagnosisReq_SetRequestNoReturn *) new uint8_t[ipcp.payload_len];
            (*buffer).value = (uint8_t) signal.value.int32Values[0];
            ipcp.payload = (void *) buffer;
        }/**/
        else if (signal.signalId == (int32_t)APCPSignalTX::Status2CpHostInfo) {
            ipcp.service_id = CP_serviceID_HostInfo;
            ipcp.oper_id = Status2CpHostInfoOpId;
            ipcp.oper_type = IPCP_OPERATION_SETREQUEST_NORETURN;
            ipcp.payload_type = IPCP_DATA_NORMAL;
            memset(ipcp.peer_ip, 0, sizeof(ipcp.peer_ip));
            strcpy(ipcp.peer_ip, CP_SERVICE_IP);
            ipcp.peer_port = CP_SERVICE_HOSTINFO_PORT;
            ipcp.payload_len = sizeof(OpStatus2CpHostInfo_SetRequestNoReturn);
            OpStatus2CpHostInfo_SetRequestNoReturn *buffer =
                    (OpStatus2CpHostInfo_SetRequestNoReturn *) new uint8_t[ipcp.payload_len];
            (*buffer).value = (uint8_t) signal.value.int32Values[0];
            ipcp.payload = (void *) buffer;
        }/**/
        else if (signal.signalId == (int32_t)APCPSignalTX::SendDIDD0D0) {
            ipcp.service_id = CP_serviceID_HostInfo;
            ipcp.oper_id = SendDIDD0D0OpId;
            ipcp.oper_type = IPCP_OPERATION_SETREQUEST_NORETURN;
            ipcp.payload_type = IPCP_DATA_NORMAL;
            memset(ipcp.peer_ip, 0, sizeof(ipcp.peer_ip));
            strcpy(ipcp.peer_ip, CP_SERVICE_IP);
            ipcp.peer_port = CP_SERVICE_HOSTINFO_PORT;
            ipcp.payload_len = sizeof(OpSendDIDD0D0_SetRequestNoReturn);
            OpSendDIDD0D0_SetRequestNoReturn set;
            memcpy(&set, signal.value.bytes.data(), signal.value.bytes.size());
            OpSendDIDD0D0_SetRequestNoReturn *buffer =
                    (OpSendDIDD0D0_SetRequestNoReturn *)
                            new uint8_t[ipcp.payload_len];
            memcpy(buffer, &set, ipcp.payload_len);
            ipcp.payload = (void *) buffer;
        }
        else if (signal.signalId == (int32_t)APCPSignalTX::SendDIDD0D1) {
            ipcp.service_id = CP_serviceID_HostInfo;
            ipcp.oper_id = SendDIDD0D1OpId;
            ipcp.oper_type = IPCP_OPERATION_SETREQUEST_NORETURN;
            ipcp.payload_type = IPCP_DATA_NORMAL;
            memset(ipcp.peer_ip, 0, sizeof(ipcp.peer_ip));
            strcpy(ipcp.peer_ip, CP_SERVICE_IP);
            ipcp.peer_port = CP_SERVICE_HOSTINFO_PORT;
            ipcp.payload_len = sizeof(OpSendDIDD0D1_SetRequestNoReturn);
            OpSendDIDD0D1_SetRequestNoReturn set;
            memcpy(&set, signal.value.bytes.data(), signal.value.bytes.size());
            OpSendDIDD0D1_SetRequestNoReturn *buffer =
                    (OpSendDIDD0D1_SetRequestNoReturn *)
                            new uint8_t[ipcp.payload_len];
            memcpy(buffer, &set, ipcp.payload_len);
            ipcp.payload = (void *) buffer;
        }
        else if (signal.signalId == (int32_t)APCPSignalTX::SendDIDC012) {
            ipcp.service_id = CP_serviceID_HostInfo;
            ipcp.oper_id = SendDIDC012OpId;
            ipcp.oper_type = IPCP_OPERATION_SETREQUEST_NORETURN;
            ipcp.payload_type = IPCP_DATA_NORMAL;
            memset(ipcp.peer_ip, 0, sizeof(ipcp.peer_ip));
            strcpy(ipcp.peer_ip, CP_SERVICE_IP);
            ipcp.peer_port = CP_SERVICE_HOSTINFO_PORT;
            ipcp.payload_len = sizeof(OpSendDIDC012_SetRequestNoReturn);
            OpSendDIDC012_SetRequestNoReturn set;
            memcpy(&set, signal.value.bytes.data(), signal.value.bytes.size());
            OpSendDIDC012_SetRequestNoReturn *buffer =
                    (OpSendDIDC012_SetRequestNoReturn *)
                            new uint8_t[ipcp.payload_len];
            memcpy(buffer, &set, ipcp.payload_len);
            ipcp.payload = (void *) buffer;
        }
        else if (signal.signalId == (int32_t)APCPSignalTX::SendDIDD089) {
            ipcp.service_id = CP_serviceID_HostInfo;
            ipcp.oper_id = SendDIDD089OpId;
            ipcp.oper_type = IPCP_OPERATION_SETREQUEST_NORETURN;
            ipcp.payload_type = IPCP_DATA_NORMAL;
            memset(ipcp.peer_ip, 0, sizeof(ipcp.peer_ip));
            strcpy(ipcp.peer_ip, CP_SERVICE_IP);
            ipcp.peer_port = CP_SERVICE_HOSTINFO_PORT;
            ipcp.payload_len = sizeof(OpSendDIDD089_SetRequestNoReturn);
            OpSendDIDD089_SetRequestNoReturn set;
            memcpy(&set, signal.value.bytes.data(), signal.value.bytes.size());
            OpSendDIDD089_SetRequestNoReturn *buffer =
                    (OpSendDIDD089_SetRequestNoReturn *)
                            new uint8_t[ipcp.payload_len];
            memcpy(buffer, &set, ipcp.payload_len);
            ipcp.payload = (void *) buffer;
        }
        else if (signal.signalId == (int32_t)APCPSignalTX::SendDIDD07F) {
            ipcp.service_id = CP_serviceID_HostInfo;
            ipcp.oper_id = SendDIDD07FOpId;
            ipcp.oper_type = IPCP_OPERATION_SETREQUEST_NORETURN;
            ipcp.payload_type = IPCP_DATA_NORMAL;
            memset(ipcp.peer_ip, 0, sizeof(ipcp.peer_ip));
            strcpy(ipcp.peer_ip, CP_SERVICE_IP);
            ipcp.peer_port = CP_SERVICE_HOSTINFO_PORT;
            ipcp.payload_len = sizeof(OpSendDIDD07F_SetRequestNoReturn);
            OpSendDIDD07F_SetRequestNoReturn set;
            memcpy(&set, signal.value.bytes.data(), signal.value.bytes.size());
            OpSendDIDD07F_SetRequestNoReturn *buffer =
                    (OpSendDIDD07F_SetRequestNoReturn *)
                            new uint8_t[ipcp.payload_len];
            memcpy(buffer, &set, ipcp.payload_len);
            ipcp.payload = (void *) buffer;
        }
        else if (signal.signalId == (int32_t)APCPSignalTX::Status2CpPower) {
            ipcp.service_id = CP_serviceID_Power;
            ipcp.oper_id = Status2CpPowerOpId;
            ipcp.oper_type = IPCP_OPERATION_SETREQUEST_NORETURN;
            ipcp.payload_type = IPCP_DATA_NORMAL;
            memset(ipcp.peer_ip, 0, sizeof(ipcp.peer_ip));
            strcpy(ipcp.peer_ip, CP_SERVICE_IP);
            ipcp.peer_port = CP_SERVICE_POWER_PORT;
            ipcp.payload_len = sizeof(OpStatus2CpPower_SetRequestNoReturn);
            OpStatus2CpPower_SetRequestNoReturn *buffer =
                    (OpStatus2CpPower_SetRequestNoReturn *) new uint8_t[ipcp.payload_len];
            (*buffer).value = (uint8_t) signal.value.int32Values[0];
            ipcp.payload = (void *) buffer;
        }/**/
        else if (signal.signalId == (int32_t)APCPSignalTX::GameStartRequest) {
            ipcp.service_id = CP_serviceID_Power;
            ipcp.oper_id = GameStartRequestOpId;
            ipcp.oper_type = IPCP_OPERATION_SETREQUEST_NORETURN;
            ipcp.payload_type = IPCP_DATA_NORMAL;
            memset(ipcp.peer_ip, 0, sizeof(ipcp.peer_ip));
            strcpy(ipcp.peer_ip, CP_SERVICE_IP);
            ipcp.peer_port = CP_SERVICE_POWER_PORT;
            ipcp.payload_len = sizeof(OpGameStartRequest_SetRequestNoReturn);
            OpGameStartRequest_SetRequestNoReturn *buffer =
                    (OpGameStartRequest_SetRequestNoReturn *) new uint8_t[ipcp.payload_len];
            (*buffer).value = (uint8_t) signal.value.int32Values[0];
            ipcp.payload = (void *) buffer;
        }/**/
        return ipcp;
    }
}
